IT Technical Support for Developers

Tally Integration Capabilities


Tally prime is hanging, Not responding, not Opening

Reasons for Tally Prime is not responding

How to solve tally prime problem

Tally Prime is Not Responding Problem क्या हैं और कैसे Solve करे?

This could happen due to various reasons. The first step towards finding the solution for this problem is identifying what is causing Tally to not respond.

Data Size Huge

When the data size is huge Tally may take time to load and thus may fail to respond. The solution to this problem is split your data. Year-wise splitting of data is a good practice as it decreases the data load on the system and thus tally will be able to load all the user requests quickly.

Error while opening Company

TallyPrime now starts in the Command Prompt. Press Ctrl+Alt+R to repair the company data.

Troubleshoot TallyPrime

Press F1 (Help) > Troubleshooting > Repair. Note: If you press Alt+F3 to open a Company and see the status Repair Required against it, then you will need to press Enter on it and follow the procedure of repair. Select the company that you want to repair and press Enter. or Press Ctrl+Alt+R to repair the company data.

Multiple users using Tally at the same time

Tally is single threaded and often cannot process two user requests simultaneously. Thus one has to wait for tally to finish the pending tasks and only then it will be able to process new user requests.

Tally Prime Startup Problem

Tally is not open a long time, and only logo will display, no menu screen
Due to Printer drivers or configuration Tally may hang, troubleshoot all printers which are installed in the computer, and fix if any problem, this will support the tally to open or startup without any delay.
Printer troubleshoot


How to Integrate .NET with Tally Using XML

Tally Interfaces – For Integration .NET Sample Code

How to Export data from tally using .NET using c#?

WebRequest Request = WebRequest.Create(TallyUrl.Text);
string exportxml = null;
int Amt = int.Parse(VCHAmount.Text);

exportxml = "<ENVELOPE>" +
"<HEADER>" +
"<TALLYREQUEST>Export Data</TALLYREQUEST>" +
"</HEADER>" +
"<BODY>" +
. . .
. . .
"</BODY>" +
"</ENVELOPE>";
}
Byte[] bytesToWrite = Encoding.ASCII.GetBytes(exportxml);

Request.Method = "POST";
Request.ContentLength = bytesToWrite.Length;
Request.ContentType = "text/xml";

Stream newStream = Request.GetRequestStream();
newStream.Write(bytesToWrite, 0, bytesToWrite.Length);
newStream.Close();

HttpWebResponse response = (HttpWebResponse)Request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);

string responseFromServer = reader.ReadToEnd();
string xmlresponse = responseFromServer;

XmlDocument xd = new XmlDocument();
xd.LoadXml(xmlresponse);


Tags : Tally to .net c# xml data,
Tally xml export/ import using C# .net
How to: Request Data Using the WebRequest Class,
How to make a GET request by using Visual C#,
c# - HTTP request with post,
Create HTTP GET and POST Request with C#,
HttpWebRequest/Response in a Nutshell




Tally Integration Using XML Read / Write

Tally Interfaces – For Integration

Tally communicates with the external world mainly using two Interfaces.
‡ 1.Tally ODBC Interface (Read Only)
‡ 2.Tally XML Interface (Read and Write)

Tally XML Interface Integration

XML (Extensible Markup Language) is the standard for information exchange with external systems. Tally.ERP 9 supports standardized message formats for Request/Response. Tally.ERP 9 can communicate with any environment capable of sending and receiving XML over HTTP.
Tally can act as an HTTP Server capable of receiving an XML Request and responding with an XML Response. The entire Tally Data can be made available to the requesting application. It is also possible for the application to store data into Tally Database.
Using the same interface, Tally has the capability to interact with a Web Service delivering Data over HTTP. In this scenario, Tally behaves as a client retrieving and storing data into an external database. The Web Service capable of handling Tally Request/Response serves as a layer between Tally and External Database.
Example : Tally - XML Integration
Tally - XML Request / Response

Let us consider different scenarios to understand the Request and Response XML structure.
Export - Request to Export Data and Corresponding response.
Import - Request to Import Data and the Corresponding response.
Execute - Request to Execute Action and Corresponding response.

Tally Export Data Using XML

Tags used for sending a request to export data from Tally.ERP 9.
contains the following:
Tag must contain value Export
Tag must contain value Data
Tag should contain the Name of the TDL Report
contains the following:
Tag can contain report settings like Company Name, Format, etc. as desired which should be enclosed within tag.
If the Report Name specified in the tag does not exist within Tally running at the spec­ified port, the TDL defining the Report & other supporting definition needs to be described and enclosed within tag .
Example : Request for a detailed Trial Balance in XML Format from Tally.
<ENVELOPE>
     <HEADER>
             <VERSION>1</VERSION>
             <TALLYREQUEST>Export</TALLYREQUEST>
             <TYPE>Data</TYPE>
             <ID>Trial Balance</ID>
     </HEADER>
     <BODY>
             <DESC>
                     <STATICVARIABLES>
                               <EXPLODEFLAG>Yes</EXPLODEFLAG>
                               <SVEXPORTFORMAT>$$SysName:XML</SVEXPORTFORMAT>
                     </STATICVARIABLES>
             </DESC>
     </BODY>
</ENVELOPE>
 
In the above XML request, <HEADER> describes the expected result.
  • The value of the Tag <TALLYREQUEST> is Export which indicates that some information needs to be exported from Tally.
  • The value of the Tag <TYPE> is Data which indicates that the data needs to be exported from Tally.
  • The value of the Tag <ID> must be a TDL Report Name, if the previous Tag <TYPE> con­tains Data and Tag <TALLYREQUEST> contains Export. Any Report which needs to be exported from Tally can be specified within this Tag.
  • <BODY> Tag contains parameters, if any. Additional settings for the report like format required, company from which data is required, etc. can be passed within <STATICVARIA­BLES> Tag enclosed within <DESC> Tag. All variables are considered as Tag Names and their value are enclosed within these tags. For e.g., in the above XML, variables SVEX­PORTFORMAT and EXPLODEFLAG are considered as Tags and their respective values $$SysName:XML and Yes are enclosed within. TDL Internal Function SysName is evalu­ated at Tally end and the response is being sent accordingly.

XML Response received From Tally

 
<ENVELOPE>
         <DSPACCNAME>
                  <DSPDISPNAME>Capital Account</DSPDISPNAME>
         </DSPACCNAME>
         <DSPACCINFO>
                  <DSPCLDRAMT>
                           <DSPCLDRAMTA></DSPCLDRAMTA>
                  </DSPCLDRAMT>
                  <DSPCLCRAMT>
                           <DSPCLCRAMTA>100000.00</DSPCLCRAMTA>
                  </DSPCLCRAMT>
         </DSPACCINFO>
         <DSPACCINFO>
                  <DSPCLDRAMT>
                           <DSPCLDRAMTA>-100000.00</DSPCLDRAMTA>
                  </DSPCLDRAMT>
                  <DSPCLCRAMT>
                           <DSPCLCRAMTA></DSPCLCRAMTA>
                  </DSPCLCRAMT>
         </DSPACCINFO>
           .
           .
           .
          </DSPACCNAME>
</ENVELOPE>
Tally Import Using XML
 
Tally can import data objects either in the form of a Master or Voucher.
<HEADER> contains the following
  • Tag <TALLYREQUEST> must contain value Import
  • Tag <TYPE> must contain value Data and
  • Tag <ID> should contain the Import TDL Report i.e., either All Masters or Vouchers.

<BODY> contains the following

  • Tag <DESC> can contain report settings like Company Name, behavior of Import in case of duplicates found; as desired which should be enclosed within <STATICVARIABLES> Tag.
  • Tag <DATA> must contain the XML Data Fragment within Tag <TALLYMESSAGE> that needs to be imported
Example : Request for importing Master data in Tally
 
<ENVELOPE>
          <HEADER>
                    <VERSION>1</VERSION>
                    <TALLYREQUEST>Import</TALLYREQUEST>
                    <TYPE>Data</TYPE>
                    <ID>All Masters</ID
          </HEADER>
          <BODY>
                    <DESC>
                             <STATICVARIABLES>
                                        <IMPORTDUPS>@@DUPCOMBINE</IMPORTDUPS>
                             </STATICVARIABLES>
                    </DESC>
                    <DATA>
                             <TALLYMESSAGE>
                                        <LEDGER NAME="ICICI" Action = "Create">
                                                  <NAME>ICICI</NAME>
                                                  <PARENT>Bank Accounts</PARENT>
                                                  <OPENINGBALANCE>-12500</OPENINGBALANCE>
                                        </LEDGER>
                                        <GROUP NAME=" Bangalore Debtors" Action = "Create">
                                                   <NAME>Bangalore Debtors</NAME>
                                                   <PARENT>Sundry Debtors</PARENT>
                                        </GROUP>
                                        <LEDGER NAME="RK Builders Pvt Ltd" Action = "Create">
                                                   <NAME>RK Builders Pvt Ltd</NAME>
                                                   <PARENT>Bangalore Debtors</PARENT>
                                                   <OPENINGBALANCE>-1000</OPENINGBALANCE>
                                        </LEDGER>
                             </TALLYMESSAGE>
                    </DATA>
          </BODY>
</ENVELOPE>

In the above XML Request, Create action is used. Any of the following system formulae can be used to choose the required behavior in case the system encounters a ledger with the same name. The behavior is for the treatment of the Opening Balance which is being imported.
  • DupModify specifies that the current Opening Balance should be modified with the new one that is being imported.
  • DupIgnoreCombine specifies that the ledger if exists need to be ignored.
  • DupCombine specifies the system to combine both the Opening Balances. Ideally, this option is used when Data pertaining to Group Companies are merged together into a single company. 
On processing the above request for importing ledgers, the requested ledgers are created in Tally. 

XML Response received From Tally.

<RESPONSE>
           <CREATED>2</CREATED>
           <ALTERED>0</ALTERED>
           <LASTVCHID>0</LASTVCHID>
           <LASTMID>0</LASTMID>
           <COMBINED>0</COMBINED>
           <IGNORED>0</IGNORED>
           <ERRORS>0</ERRORS>
</RESPONSE>

The above XML Response is a log of masters created, altered, combined, ignored or not imported due to some errors. It also contains information pertaining to the last Master ID imported. For Alteration and Deletion of Masters, the Object action needs to be Alter or Delete respectively.

For instance, in the above example,

<LEDGER NAME="ICICI" Action = "Alter">
          <NAME>HDFC</NAME>

Name of an existing ledger ICICI will get altered to HDFC.

In case of Deletion, following line suffices

<LEDGER NAME="ICICI" Action = "Delete">
 
Execute
 
Tags used for sending a request to Execute an action from Tally.ERP 9.
<HEADER> contains the following:
  • Tag <TALLYREQUEST> must contain value Execute
  • Tag <TYPE> must contain value TDLAction and
  • Tag <ID> should contain the Name of the TDL Action
Example : Request for Executing Synchronization in Tally

<ENVELOPE>
           <HEADER>
                    <VERSION>1</VERSION>
                    <TALLYREQUEST>Execute</TALLYREQUEST>
                    <TYPE>TDLAction</TYPE>
                    <ID>Sync</ID>
           </HEADER>
</ENVELOPE>

In the above XML request, <HEADER> describes the expected result.
  • The value of the Tag <TALLYREQUEST> is Execute which indicates that some action needs to be executed in Tally.
  • The value of the Tag <TYPE> is TDLAction which indicates that some TDLAction has to be executed in Tally.
  • The value of the Tag <ID> must be a TDL Action Name. Any action which needs to be exe­cuted in Tally can be specified within this Tag.



How to Enable TCS Calculation on Sale of Goods in Tally ERP 9

Tally Erp9 - HOW TO ENABLE TCS CALCULATION ON SALE OF GOODS

1. Open Tally and Login as Admin
2. Press F11 Select Yes in Tax Collected at sources under statutory & taxation.
3. Now under second option set/alter TCS details, press yes please enter your TAN Number, collector type, collector branch . and enter all other required details and press enter
4. Go to Accounts info then statutory info now you will find NEW OPTION named TCS NATURE OF GOODS please press enter now you will find create option, now enter name TCS ON SALE OF ANY GOODS, section 260C, rate are same for all type of payee, with PAN 0.075% & without PAN 1%(Normal TCS rate is 0.1% but reduced rate will be apply from 01st October 2020 to 31st march 2021 as concessional relief by Govt. to reduce all tax rate @25%. From 1st April, 2021 Rate of 0.1% will be applicable)
5. Modify some of your ledgers of tally. Now you have to decide that to which customer TCS is applicable based on limits now alter that customer ledger( you have to individually alter all those sales party ledger to to whom TCS is applicable)
6. Statutory information you will find ""TCS is applicable"" please select yes, select buyers type, don’t forget to enter PAN No. now please accept.
7. Alter your sales ledger, Select "Yes" under is "TCS is applicable" now under nature of goods option select TCS on sale of any goods( which we created earlier), now please accept.
8. Also alter your CGST, SGST ledgers. If you maintain CGST ledger rate wise than you have to alter all those ledger. ( as you know TCS is also applicable on GST Amount that’s why you have to alter your all CGST, SGST, & IGST Ledge).’
9. Now alter respective GST ledger please select yes under IS TCS is applicable & Select nature of goods , TCS on sale of any goods( category which you have created earlier)
10. Go to gateway of tally then stock item than alter, select one of stick item, now you will find option IS TCS is applicable please select yes and under Nature of goods select TCS on sale of any goods now please accept.
11. Now all done. Please enter one of sales invoice. Now select customer ledger under Which you have enable TCS, select stock item under which you have unable TCS, Enter Respective Qty, Rate, select sales ledger which you have enable for TCS, now you will find one box, TCS nature of goods select ledger, TCS on sale of any goods every time you have to select this category like after you have selected stock item & after you have selected respective GST ledger.
12. Now at the end means after you have selected respective GST ledger press alter C(ledger create), create one ledger name TCS on sale of goods under Duties & tax, type of ledger TC & Select category which you have created earlier(TCS ON SALE OF ANY GOODS).
13. If TCS is not applicable in any party then a under ledger select NO Against Is TCS IS APPLICABLE. OR You can also do one thing while entering sales invoice, you will be asked TCS nature of goods then select Not applicable
14. Go to Display, statutory report then form 27 EQ Now you will find all your TCS transaction, assessable value and TCS collectable and TCS collected and balance collectable monthly as well as yearly
15. Now after the end of your month means when you you have to paid TCS, go to accounting voucher then payment voucher, enter dated for example 1st Nov, 2020 now you will find start payment option in right hand side of your payment voucher please select start payment, now select tax type as TCS and enter all details which are asked like Period, collected till date, section(206C), Nature of goods, collectee status, residential status, cash/bank, Now all those bill on which TCS is applicable are display on your screen and you will find total amount of TCS need to be deposited by you. And if you want to print TCS challan for your reference press Alt P, and select yes in print as TCS challan
16. Now under FORM 27EQ you will find TCS amount which you have entered in you payment voucher if not available than see the not included in TCS and entered respective details.


Related Links...

How to export voucher from tally by using IDs - XML format


How to Integrate PHP with Tally using XML


Create Sales Order using xml request to Tally erp 9


How to Fetch Tally Products Price List Using xml request


Tally XML stock summary request - Item Wise Stock Summary